Digital watermarking is a process for modifying physical or electronic media to embed a hidden machine-readable code into the media. The media may be modified such that the embedded code is imperceptible or nearly imperceptible to the user, yet may be detected through an automated detection process. Most commonly, digital watermarking is applied to media signals such as images, audio signals, and video signals. However, it may also be applied to other types of media objects, including documents (e.g., through line, word or character shifting), software, multi-dimensional graphics models, and surface textures of objects.
Digital watermarking systems typically have two primary components: an encoder that embeds the watermark in a host media signal, and a decoder that detects and reads the embedded watermark from a signal suspected of containing a watermark (a suspect signal). The encoder embeds a watermark by subtly altering the host media signal. The reading component analyzes a suspect signal to detect whether a watermark is present. In applications where the watermark encodes information, the reader extracts this information from the detected watermark.
Several particular watermarking techniques have been developed. The reader is presumed to be familiar with the literature in this field. Particular techniques for embedding and detecting imperceptible watermarks in media signals are detailed in the assignee's co-pending application serial number 09/503,881 (Now U.S. Pat. No. 6,614,914) and U.S Pat. No. 6,122,403, which are herein incorporated by reference. This document discloses a variety of inventive methods, systems and related software and hardware for digital watermarking and fingerprinting. One aspect of the invention is a method of detecting a digital watermark. This method transforms video data into a one dimensional video signal, performs calibration of the one dimensional signal with a one dimensional calibration signal to compensate for geometric distortion of the video signal.
Another aspect of this disclosure is a method of digitally watermarking a media signal with watermark layers at different times. This method receives a host media signal, and analyzes the host signal for presence of an embedded digital watermark. Based on analyzing the host signal, it identifies embedded portions of the host media signal that carry at least a first layer of an embedded digital watermark and available portions that do not carry an embedded digital watermark. The method embeds a second or subsequent layer of an embedded digital watermark in the available portions. Another aspect of this disclosure is a method of detecting content flags embedded in a host media signal. The method detects a calibration watermark signal in the host media signal, and determines a content flag associated with the calibration signal.
Another aspect of this disclosure is a method for video watermarking. This method receives video comprised of two or more video object layers. It separately embeds digital watermarks in each video layer, including embedding a digital watermark with synchronization attributes used to synchronize each of the video layers. The method forms a compressed bit stream comprised of bit streams for each of the watermarked video layers.
Another aspect of this disclosure is a method for detecting a digital watermark in a video signal comprised of video object layers. The method detects a master synchronization signal in the video signal. The method uses the master synchronization to calibrate detection of watermarks embedded in two or more different video object layers.
Another aspect of this disclosure is a method of embedding auxiliary data in a compressed data stream. This method provides an auxiliary data stream to be embedded in the compressed data stream, and selects a sequence of prediction mode parameters to represent data in the compressed data stream such that the prediction mode parameter sequence corresponds to auxiliary symbols of the auxiliary data stream.
Another aspect of this disclosure is a method of extracting an auxiliary data stream from a compressed data stream. This method reads parameters identifying a prediction mode of data in the compressed data stream, and extracts the auxiliary data by translating the parameters into auxiliary data symbols that correspond to the parameters.
Another aspect of this disclosure is a method for video watermarking in scalable video. This method generates a digital watermark signal. It maps the digital watermark signal to sample locations at different resolutions in the scalable video. The method repeatedly embeds a digital watermark in the video at the different resolutions.
One aspect of the invention is a method of video fingerprinting. This method computes statistics for video frames, it then forms a fingerprint of the video as a change in the statistics over the video frames. Another method of video fingerprinting computes values representing motion between different portions of the video, and forms a fingerprint to identify the video utilizing data associated with at least the values. Yet another method of video fingerprinting computes values associated with luminance for a first video portion, computes values associated with luminance for a second video portion, determines changes in luminance between the first video portion and the second video portion, and forms a fingerprint to identify the video based at least in part on data associated with the changes.
Another aspect of this disclosure is a method for detecting a digital watermark in a compressed video signal. This method parses the compressed video signal to extract DCT coefficients, and performs a combined inverse DCT and watermark demodulation operation on the DCT coefficients.
Another aspect of this disclosure is a method of embedding a digital watermark in a video stream. This method generates a digital watermark signal, and stores the digital watermark signal in a key channel. The method superimposes the digital watermark on video data through a key channel combiner.